#pragma once
#include <iostream>
using namespace std;
class Person
{
public:
	Person(const string& fname = "", const string& lname = "");
	virtual ~Person();
	virtual void Show()const;
private:
	string first_name;
	string last_name;

};

class Gunslinger:virtual public Person
{
public:
	Gunslinger(const string& fname = "", const string& lname = "",int nicks=0);
	~Gunslinger();
	double Draw()const;
	void Show()const override;
private:
	int nicks;
};

struct Card
{
	enum SUITE{SPADE,HEART,DIAMOND,CLUB};
	SUITE suite;
	int number;
};

class PokerPlayer :virtual public Person
{
public:
	PokerPlayer(const string& fname = "", const string& lname = "");
	~PokerPlayer();
	Card Draw()const;

};

class BadDude :public Gunslinger, public PokerPlayer
{
public:
	BadDude(const string& fname = "", const string& lname = "", int nicks = 0);
	~BadDude();
	double Gdraw()const;
	int Cdraw()const;
	void Show()const;
private:
};

